package com.kgis.fm.access.common.service;

import java.util.List;

import com.kgis.kp.model.Model;

/**
 * 
 * @author zhxiaomiao
 * @version 1.0
 * 
 */
public interface AbstractExecutiveAccessService<T extends Model> extends AbstractDataAccessService{
	/**
	 * 
	 * @param model
	 * @return
	 */
	T create(T model);

	/**
	 * 
	 * @param model
	 * @return
	 */
	T update(T model);

	/**
	 * 
	 * @param model
	 * @return
	 */
	T remove(T model);

	/**
	 * 
	 * @param model
	 * @return
	 */
	T save(T model);

	/**
	 * 
	 * @param id
	 * @return
	 */
	T findById(long id);

	/**
	 * 
	 * @param ids
	 * @return
	 */
	List<T> findByIds(long[] ids);

	/**
	 * 
	 * @return
	 */
	List<T> findAll();

}
